
QDesktopServices 类的以下成员是 Qt 的兼容性层中的一部分。我们建议避免在新代码中使用它们。
新代码中应当使用QStandardPaths::writableLocation()
注意:当你从QDesktopServices::DataLocation (已废弃) 迁移至QStandardPaths::DataLocation时,会返回一个不同的路径。
QDesktopServices::DataLocation对应着GenericDataLocation + "/data/organization/application",而QStandardPaths::DataLocation对应着GenericDataLocation + "/organization/application"。
另外还要注意,在Qt 4 中,如果未调用QCoreApplication::setApplicationName的话,application 会是空的,而在Qt 5 中,它的默认值是可执行程序本身的名字。
因此,如果你仍然需要访问到Qt 4 风格的路径的话(例如为了将数据迁移至Qt 5),那么将这个
QDesktopServices::storageLocation(QDesktopServices::DataLocation)
替换成这个
QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) +
"/data/organization/application"
(假设已经设置了组织名和应用程序名)。
HxLauncher: Launch Android applications by voice commands